/*****************************************************************************
*
*  PROJECT:     Multi Theft Auto v1.0
*  LICENSE:     See LICENSE in the top level directory
*  FILE:        sdk/game/TaskTypes.h
*  PURPOSE:     Task types interface
*
*  Multi Theft Auto is available from http://www.multitheftauto.com/
*
*****************************************************************************/

#ifndef __CGAME_TASKTYPES
#define __CGAME_TASKTYPES

enum eTaskType
{

    //player tasks
    TASK_SIMPLE_PLAYER_ON_FOOT = 0,

    TASK_SIMPLE_PLAYER_IN_CAR,

    //emergency services tasks
    TASK_COMPLEX_MEDIC_TREAT_INJURED_PED = 100,
    TASK_COMPLEX_TREAT_ACCIDENT,
    TASK_SIMPLE_GIVE_CPR,
    TASK_COMPLEX_COP_ARREST_PED,
    TASK_COMPLEX_COP_HASSLE_PED,
    TASK_COMPLEX_HASSLED_BY_COP,
    TASK_COMPLEX_PRESENT_ID_TO_COP,
    TASK_COMPLEX_DRIVE_FIRE_TRUCK,
    TASK_COMPLEX_USE_SWAT_ROPE,
    TASK_COMPLEX_USE_WATER_CANNON,
    TASK_COMPLEX_EXTINGUISH_FIRE_ON_FOOT,
    //SCRIPT_DECISION

    //basic tasks
    TASK_NONE = 200,
    //SCRIPT_DECISION
    TASK_SIMPLE_UNINTERRUPTABLE,
    TASK_SIMPLE_PAUSE,
    //SCRIPT_DECISION
    TASK_SIMPLE_STAND_STILL,
    //SCRIPT_DECISION
    TASK_SIMPLE_SET_STAY_IN_SAME_PLACE,
    TASK_SIMPLE_GET_UP,                                 
    TASK_COMPLEX_GET_UP_AND_STAND_STILL,
    TASK_SIMPLE_FALL,
    TASK_COMPLEX_FALL_AND_GET_UP,
    //SCRIPT_DECISION
    TASK_COMPLEX_FALL_AND_STAY_DOWN,
    //SCRIPT_DECISION
    TASK_SIMPLE_JUMP,
    TASK_COMPLEX_JUMP,
    //SCRIPT_DECISION
    TASK_SIMPLE_DIE,
    TASK_SIMPLE_DROWN,
    TASK_SIMPLE_DIE_IN_CAR,
    TASK_COMPLEX_DIE_IN_CAR,
    TASK_SIMPLE_DROWN_IN_CAR,
    TASK_COMPLEX_DIE,
    //SCRIPT_DECISION
    TASK_SIMPLE_DEAD,
    TASK_SIMPLE_TIRED,
    TASK_SIMPLE_SIT_DOWN,
    TASK_SIMPLE_SIT_IDLE,
    TASK_SIMPLE_STAND_UP,
    TASK_COMPLEX_SIT_DOWN_THEN_IDLE_THEN_STAND_UP,
    TASK_COMPLEX_OBSERVE_TRAFFIC_LIGHTS,
    TASK_COMPLEX_OBSERVE_TRAFFIC_LIGHTS_AND_ACHIEVE_HEADING,
    TASK_NOT_USED,              
    TASK_COMPLEX_CROSS_ROAD_LOOK_AND_ACHIEVE_HEADING,
    TASK_SIMPLE_TURN_180,   
    TASK_SIMPLE_HAIL_TAXI,
    TASK_COMPLEX_HIT_RESPONSE,
    TASK_COMPLEX_HIT_BY_GUN_RESPONSE,
    TASK_UNUSED_SLOT,
    TASK_COMPLEX_USE_EFFECT,
    //SCRIPT_DECISION                       
    TASK_COMPLEX_WAIT_AT_ATTRACTOR,
    TASK_COMPLEX_USE_ATTRACTOR,
    TASK_COMPLEX_WAIT_FOR_DRY_WEATHER,
    TASK_COMPLEX_WAIT_FOR_BUS,
    TASK_SIMPLE_WAIT_FOR_BUS,
    TASK_SIMPLE_WAIT_FOR_PIZZA,
    TASK_COMPLEX_IN_AIR_AND_LAND,
    TASK_SIMPLE_IN_AIR,
    TASK_SIMPLE_LAND,
    TASK_COMPLEX_BE_IN_GROUP,
    TASK_COMPLEX_SEQUENCE,
    //SCRIPT_DECISION
    TASK_SIMPLE_CALL_FOR_BACKUP,

    TASK_COMPLEX_USE_PAIRED_ATTRACTOR,
    TASK_COMPLEX_USE_ATTRACTOR_PARTNER,
    TASK_COMPLEX_ATTRACTOR_PARTNER_WAIT,
    TASK_COMPLEX_USE_SCRIPTED_ATTRACTOR, 
    TASK_COMPLEX_ON_FIRE,   
    TASK_SIMPLE_BE_DAMAGED,
    //SCRIPT_DECISION
    TASK_SIMPLE_TRIGGER_EVENT,
    TASK_SIMPLE_RAGDOLL,
    TASK_SIMPLE_CLIMB,
    TASK_SIMPLE_PLAYER_ON_FIRE,         
        TASK_COMPLEX_PARTNER,   
        TASK_COMPLEX_STARE_AT_PED,
    TASK_COMPLEX_USE_CLOSEST_FREE_SCRIPTED_ATTRACTOR,
    //SCRIPT_DECISION
    TASK_COMPLEX_USE_EFFECT_RUNNING,
    //SCRIPT_DECISION
    TASK_COMPLEX_USE_EFFECT_SPRINTING,
    //SCRIPT_DECISION
    TASK_COMPLEX_USE_CLOSEST_FREE_SCRIPTED_ATTRACTOR_RUN,
    //SCRIPT_DECISION
    TASK_COMPLEX_USE_CLOSEST_FREE_SCRIPTED_ATTRACTOR_SPRINT,
    //SCRIPT_DECISION
    TASK_SIMPLE_CHOKING,
    TASK_SIMPLE_IK_CHAIN,
    TASK_SIMPLE_IK_MANAGER, 
    TASK_SIMPLE_IK_LOOK_AT,     
    TASK_COMPLEX_CLIMB,
    TASK_COMPLEX_IN_WATER,
    TASK_SIMPLE_TRIGGER_LOOK_AT,
    //SCRIPT_DECISION
    TASK_SIMPLE_CLEAR_LOOK_AT,
    TASK_SIMPLE_SET_CHAR_DECISION_MAKER,
    TASK_SIMPLE_IK_POINT_R_ARM,
    TASK_SIMPLE_IK_POINT_L_ARM,
    TASK_COMPLEX_BE_STILL,
    TASK_COMPLEX_USE_SEQUENCE,
    TASK_SIMPLE_SET_KINDA_STAY_IN_SAME_PLACE,
    TASK_COMPLEX_FALL_TO_DEATH,
    TASK_WAIT_FOR_MATCHING_LEADER_AREA_CODES,
                
    //secondary tasks
    TASK_SIMPLE_LOOK_AT_ENTITY_OR_COORD = 300,
    //SCRIPT_DECISION
    TASK_SIMPLE_SAY,
    //SCRIPT_DECISION
    TASK_SIMPLE_SHAKE_FIST,
    //SCRIPT_DECISION
    TASK_SIMPLE_FACIAL,
    //SCRIPT_DECISION
        TASK_COMPLEX_CHAINED_FACIAL,
        TASK_COMPLEX_FACIAL,                    
        TASK_SIMPLE_AFFECT_SECONDARY_BEHAVIOUR,
        TASK_SIMPLE_HOLD_ENTITY,
        TASK_SIMPLE_PICKUP_ENTITY,      // these three aren't really secondary tasks
        TASK_SIMPLE_PUTDOWN_ENTITY,     // but they exist around the secondary hold entity
        TASK_COMPLEX_GO_PICKUP_ENTITY,      // task at the start and finish
    TASK_SIMPLE_DUCK_WHILE_SHOTS_WHIZZING,
    //SCRIPT_DECISION

    //anims (tasks that are sub-classes of CTaskSimpleRunUnloopedAnim)    
    TASK_SIMPLE_ANIM = 400,
    TASK_SIMPLE_NAMED_ANIM,
    TASK_SIMPLE_TIMED_ANIM,
    TASK_SIMPLE_HIT_BACK,
    TASK_SIMPLE_HIT_FRONT,
    TASK_SIMPLE_HIT_LEFT,
    TASK_SIMPLE_HIT_RIGHT,
    TASK_SIMPLE_HIT_BY_GUN_BACK,
    TASK_SIMPLE_HIT_BY_GUN_FRONT,
    TASK_SIMPLE_HIT_BY_GUN_LEFT,
    TASK_SIMPLE_HIT_BY_GUN_RIGHT,
    TASK_SIMPLE_HIT_WALL,
    TASK_SIMPLE_COWER,
    //SCRIPT_DECISION
    TASK_SIMPLE_HANDS_UP,
    //SCRIPT_DECISION
    TASK_SIMPLE_HIT_BEHIND,
    TASK_SIMPLE_DUCK,
    //SCRIPT_DECISION
    TASK_SIMPLE_CHAT,
    TASK_COMPLEX_SUNBATHE,
    TASK_SIMPLE_SUNBATHE,
    TASK_SIMPLE_DETONATE,
    TASK_SIMPLE_USE_ATM,
    TASK_SIMPLE_SCRATCH_HEAD,
    TASK_SIMPLE_LOOK_ABOUT,
    TASK_SIMPLE_ABSEIL,
    TASK_SIMPLE_ANIM_LOOPED_MIDDLE,
    TASK_SIMPLE_HANDSIGNAL_ANIM,
    TASK_COMPLEX_HANDSIGNAL_ANIM,
    TASK_SIMPLE_DUCK_FOREVER,
    //SCRIPT_DECISION
    TASK_SIMPLE_START_SUNBATHING,
    TASK_SIMPLE_IDLE_SUNBATHING,
    TASK_SIMPLE_STOP_SUNBATHING,
        
    //collision response tasks
    TASK_SIMPLE_HIT_HEAD = 500,
    TASK_SIMPLE_EVASIVE_STEP,          
    TASK_COMPLEX_EVASIVE_STEP,                                
    TASK_SIMPLE_EVASIVE_DIVE,   
    TASK_COMPLEX_EVASIVE_DIVE_AND_GET_UP,
    TASK_COMPLEX_HIT_PED_WITH_CAR,
    TASK_SIMPLE_KILL_PED_WITH_CAR,
    TASK_SIMPLE_HURT_PED_WITH_CAR,   
    TASK_COMPLEX_WALK_ROUND_CAR,
    //SCRIPT_DECISION
    TASK_COMPLEX_WALK_ROUND_BUILDING_ATTEMPT,
    TASK_COMPLEX_WALK_ROUND_OBJECT,
    //SCRIPT_DECISION
    TASK_COMPLEX_MOVE_BACK_AND_JUMP,
    TASK_COMPLEX_EVASIVE_COWER,
    TASK_COMPLEX_DIVE_FROM_ATTACHED_ENTITY_AND_GET_UP,
    //SCRIPT_DECISION
    TASK_COMPLEX_WALK_ROUND_FIRE,
    //SCRIPT_DECISION
    TASK_COMPLEX_STUCK_IN_AIR,

    //threat response tasks
        TASK_COMPLEX_INVESTIGATE_DEAD_PED = 600,
    //SCRIPT_DECISION
    TASK_COMPLEX_REACT_TO_GUN_AIMED_AT,
    //SCRIPT_DECISION
        TASK_COMPLEX_WAIT_FOR_BACKUP,
    TASK_COMPLEX_GET_OUT_OF_WAY_OF_CAR,
    //SCRIPT_DECISION
    TASK_COMPLEX_EXTINGUISH_FIRES,
    //SCRIPT_DECISION

    //car tasks

    //public car tasks 
    TASK_COMPLEX_ENTER_CAR_AS_PASSENGER = 700,
    //SCRIPT_DECISION
    TASK_COMPLEX_ENTER_CAR_AS_DRIVER,
    //SCRIPT_DECISION
    TASK_COMPLEX_STEAL_CAR,
    //SCRIPT_DECISION
    TASK_COMPLEX_DRAG_PED_FROM_CAR,
    //SCRIPT_DECISION
    TASK_COMPLEX_LEAVE_CAR,
    //SCRIPT_DECISION
    TASK_COMPLEX_LEAVE_CAR_AND_DIE,
    //SCRIPT_DECISION
    TASK_COMPLEX_LEAVE_CAR_AND_FLEE,
    //SCRIPT_DECISION
    TASK_COMPLEX_LEAVE_CAR_AND_WANDER,
    //SCRIPT_DECISION
    TASK_COMPLEX_SCREAM_IN_CAR_THEN_LEAVE,
    //SCRIPT_DECISION
    TASK_SIMPLE_CAR_DRIVE,
    //SCRIPT_DECISION
    TASK_COMPLEX_CAR_DRIVE_TO_POINT,
    //SCRIPT_DECISION
    TASK_COMPLEX_CAR_DRIVE_WANDER,
    //SCRIPT_DECISION
    TASK_COMPLEX_ENTER_CAR_AS_PASSENGER_TIMED,
    //SCRIPT_DECISION
    TASK_COMPLEX_ENTER_CAR_AS_DRIVER_TIMED,
    //SCRIPT_DECISION
    TASK_COMPLEX_LEAVE_ANY_CAR,
    //SCRIPT_DECISION
    TASK_COMPLEX_ENTER_BOAT_AS_DRIVER,

    TASK_COMPLEX_LEAVE_BOAT,
        TASK_COMPLEX_ENTER_ANY_CAR_AS_DRIVER,
        TASK_COMPLEX_ENTER_CAR_AS_PASSENGER_WAIT,
        TASK_SIMPLE_CAR_DRIVE_TIMED,
    TASK_COMPLEX_SHUFFLE_SEATS,

    TASK_COMPLEX_CAR_DRIVE_POINT_ROUTE,  
    TASK_COMPLEX_CAR_OPEN_DRIVER_DOOR,   
    TASK_SIMPLE_CAR_SET_TEMP_ACTION,  
    TASK_COMPLEX_CAR_DRIVE_MISSION,
    TASK_COMPLEX_CAR_DRIVE,
    TASK_COMPLEX_CAR_DRIVE_MISSION_FLEE_SCENE,
    //SCRIPT_DECISION   
    TASK_COMPLEX_ENTER_LEADER_CAR_AS_PASSENGER,     
    TASK_COMPLEX_CAR_OPEN_PASSENGER_DOOR,
    TASK_COMPLEX_CAR_DRIVE_MISSION_KILL_PED,
    //SCRIPT_DECISION   
    TASK_COMPLEX_LEAVE_CAR_AS_PASSENGER_WAIT,
               
    //private car tasks (used only by public car tasks)
    TASK_COMPLEX_GO_TO_CAR_DOOR_AND_STAND_STILL = 800,
    TASK_SIMPLE_CAR_ALIGN, 
    TASK_SIMPLE_CAR_OPEN_DOOR_FROM_OUTSIDE,
    TASK_SIMPLE_CAR_OPEN_LOCKED_DOOR_FROM_OUTSIDE,
    TASK_SIMPLE_BIKE_PICK_UP,
    TASK_SIMPLE_CAR_CLOSE_DOOR_FROM_INSIDE,
    TASK_SIMPLE_CAR_CLOSE_DOOR_FROM_OUTSIDE,
    TASK_SIMPLE_CAR_GET_IN,

    TASK_SIMPLE_CAR_SHUFFLE,
    TASK_SIMPLE_CAR_WAIT_TO_SLOW_DOWN,
    TASK_SIMPLE_CAR_WAIT_FOR_DOOR_NOT_TO_BE_IN_USE,
    TASK_SIMPLE_CAR_SET_PED_IN_AS_PASSENGER,  
    TASK_SIMPLE_CAR_SET_PED_IN_AS_DRIVER, 
    TASK_SIMPLE_CAR_GET_OUT,
    TASK_SIMPLE_CAR_JUMP_OUT,
    TASK_SIMPLE_CAR_FORCE_PED_OUT,
    TASK_SIMPLE_CAR_SET_PED_OUT,

    TASK_SIMPLE_CAR_QUICK_DRAG_PED_OUT,
    TASK_SIMPLE_CAR_QUICK_BE_DRAGGED_OUT, 
    TASK_SIMPLE_CAR_SET_PED_QUICK_DRAGGED_OUT,
    TASK_SIMPLE_CAR_SLOW_DRAG_PED_OUT,  
    TASK_SIMPLE_CAR_SLOW_BE_DRAGGED_OUT,     
    TASK_SIMPLE_CAR_SET_PED_SLOW_DRAGGED_OUT,
    TASK_COMPLEX_CAR_SLOW_BE_DRAGGED_OUT,
    TASK_COMPLEX_CAR_SLOW_BE_DRAGGED_OUT_AND_STAND_UP,
    TASK_COMPLEX_CAR_QUICK_BE_DRAGGED_OUT,
    TASK_SIMPLE_BIKE_JACKED,
    TASK_SIMPLE_SET_PED_AS_AUTO_DRIVER,
    TASK_SIMPLE_GO_TO_POINT_NEAR_CAR_DOOR_UNTIL_DOOR_NOT_IN_USE,
    TASK_SIMPLE_WAIT_UNTIL_PED_OUT_CAR,
    TASK_COMPLEX_GO_TO_BOAT_STEERING_WHEEL,
    TASK_COMPLEX_GET_ON_BOAT_SEAT,
        TASK_SIMPLE_CREATE_CAR_AND_GET_IN,
        TASK_SIMPLE_WAIT_UNTIL_PED_IN_CAR,
        TASK_SIMPLE_CAR_FALL_OUT,

    //goto tasks
    TASK_SIMPLE_GO_TO_POINT = 900,
    //SCRIPT_DECISION
    TASK_COMPLEX_GO_TO_POINT_SHOOTING,
    TASK_SIMPLE_ACHIEVE_HEADING,
    TASK_COMPLEX_GO_TO_POINT_AND_STAND_STILL,
    TASK_COMPLEX_GO_TO_POINT_AND_STAND_STILL_AND_ACHIEVE_HEADING,
    TASK_COMPLEX_FOLLOW_POINT_ROUTE,
    TASK_COMPLEX_FOLLOW_NODE_ROUTE,
    TASK_COMPLEX_SEEK_ENTITY,
    //SCRIPT_DECISION
    TASK_COMPLEX_FLEE_POINT,
    //SCRIPT_DECISION                                          
    TASK_COMPLEX_FLEE_ENTITY,
    //SCRIPT_DECISION             
    TASK_COMPLEX_SMART_FLEE_POINT,
    //SCRIPT_DECISION             
    TASK_COMPLEX_SMART_FLEE_ENTITY,
    //SCRIPT_DECISION
    TASK_COMPLEX_WANDER,
    TASK_COMPLEX_FOLLOW_LEADER_IN_FORMATION,
    TASK_COMPLEX_FOLLOW_SEXY_PED,
    //SCRIPT_DECISION
    TASK_COMPLEX_GO_TO_ATTRACTOR,
    TASK_COMPLEX_LEAVE_ATTRACTOR,
    TASK_COMPLEX_AVOID_OTHER_PED_WHILE_WANDERING,
    //SCRIPT_DECISION
    TASK_COMPLEX_GO_TO_POINT_ANY_MEANS,
    TASK_COMPLEX_WALK_ROUND_SHOP,
    TASK_COMPLEX_TURN_TO_FACE_ENTITY,
    //SCRIPT_DECISION
    TASK_COMPLEX_AVOID_BUILDING,
        TASK_COMPLEX_SEEK_ENTITY_ANY_MEANS,   
        TASK_COMPLEX_FOLLOW_LEADER_ANY_MEANS,
        TASK_COMPLEX_GO_TO_POINT_AIMING,    
        TASK_COMPLEX_TRACK_ENTITY,
        TASK_SIMPLE_GO_TO_POINT_FINE,
    TASK_COMPLEX_FLEE_ANY_MEANS,
    //SCRIPT_DECISION
    TASK_COMPLEX_FLEE_SHOOTING,
    TASK_COMPLEX_SEEK_ENTITY_SHOOTING,
    TASK_UNUSED1,
    TASK_COMPLEX_FOLLOW_PATROL_ROUTE,
    TASK_COMPLEX_GOTO_DOOR_AND_OPEN,
    TASK_COMPLEX_SEEK_ENTITY_AIMING,
    //SCRIPT_DECISION
    TASK_SIMPLE_SLIDE_TO_COORD,
    TASK_COMPLEX_INVESTIGATE_DISTURBANCE,
    //SCRIPT_DECISION
    TASK_COMPLEX_FOLLOW_PED_FOOTSTEPS,
        TASK_COMPLEX_FOLLOW_NODE_ROUTE_SHOOTING,   
    TASK_COMPLEX_USE_ENTRYEXIT,
    TASK_COMPLEX_AVOID_ENTITY,
        TASK_SMART_FLEE_ENTITY_WALKING,              

    //fight tasks

        TASK_COMPLEX_KILL_PED_ON_FOOT = 1000,
    //SCRIPT_DECISION
        TASK_COMPLEX_KILL_PED_ON_FOOT_MELEE,
        TASK_COMPLEX_KILL_PED_ON_FOOT_ARMED,
    TASK_COMPLEX_DESTROY_CAR,
    //SCRIPT_DECISION
        TASK_COMPLEX_DESTROY_CAR_MELEE,             
        TASK_COMPLEX_DESTROY_CAR_ARMED,             
    //      TASK_COMPLEX_FIGHT,
    //      TASK_SIMPLE_FIRE_RANGED,
    //      TASK_SIMPLE_FIRE_RANGED_CROUCHED,
    //      TASK_SIMPLE_FIRE_RELOAD,
    //      TASK_SIMPLE_FIRE_SNIPER,

    //      TASK_COMPLEX_ATTACK_RANGED,
    //      TASK_SIMPLE_AIM_GUN,
    //      TASK_SIMPLE_FIGHT_IDLE,
    //      TASK_SIMPLE_FIGHT_SHUFFLE,
    //      TASK_SIMPLE_ATTACK_MELEE,
    //      TASK_SIMPLE_FIRE_PROJECTILE,
    //      TASK_SIMPLE_ATTACK_UNARMED,
    //      TASK_COMPLEX_THROW_PROJECTILE,
    //      TASK_SIMPLE_THROW_WEAPON,
        TASK_COMPLEX_REACT_TO_ATTACK,
        TASK_SIMPLE_BE_KICKED_ON_GROUND,
        TASK_SIMPLE_BE_HIT,
        TASK_SIMPLE_BE_HIT_WHILE_MOVING,
        TASK_COMPLEX_SIDE_STEP_AND_SHOOT,
        TASK_SIMPLE_DRIVEBY_SHOOT,
        TASK_SIMPLE_DRIVEBY_WATCH_FOR_TARGET,
        TASK_COMPLEX_DO_DRIVEBY,
        TASK_KILL_ALL_THREATS,
        TASK_KILL_PED_GROUP_ON_FOOT,

    // new weapon/fight tasks
    TASK_SIMPLE_FIGHT,
    TASK_SIMPLE_USE_GUN,
    TASK_SIMPLE_THROW,
    TASK_SIMPLE_FIGHT_CTRL,
    TASK_SIMPLE_GUN_CTRL,
    //SCRIPT_DECISION
    TASK_SIMPLE_THROW_CTRL,
    TASK_SIMPLE_GANG_DRIVEBY,
    //SCRIPT_DECISION

    TASK_COMPLEX_KILL_PED_ON_FOOT_TIMED,        //SCRIPT_DECISION 
    TASK_COMPLEX_KILL_PED_ON_FOOT_STAND_STILL,   //SCRIPT_DECISION 
    TASK_UNUSED2,
    TASK_KILL_PED_ON_FOOT_WHILE_DUCKING,
    //SCRIPT_DECISION 
    TASK_SIMPLE_STEALTH_KILL,
    TASK_COMPLEX_KILL_PED_ON_FOOT_STEALTH,
    //SCRIPT_DECISION 
    TASK_COMPLEX_KILL_PED_ON_FOOT_KINDA_STAND_STILL,
    //SCRIPT_DECISION 
    TASK_COMPLEX_KILL_PED_AND_REENTER_CAR,
    TASK_COMPLEX_ROAD_RAGE,
    //SCRIPT_DECISION       
    TASK_KILL_PED_FROM_BOAT,
        TASK_SIMPLE_SET_CHAR_IGNORE_WEAPON_RANGE_FLAG,
        
        TASK_SEEK_COVER_UNTIL_TARGET_DEAD,
        
    //police tasks

        TASK_SIMPLE_ARREST_PED = 1100,

    TASK_COMPLEX_ARREST_PED,
    //SCRIPT_DECISION
        TASK_SIMPLE_BE_ARRESTED,
        TASK_COMPLEX_POLICE_PURSUIT,
        TASK_COMPLEX_BE_COP,
    TASK_COMPLEX_KILL_CRIMINAL,
    //SCRIPT_DECISION
    TASK_COMPLEX_COP_IN_CAR,
        
    //gang/partner tasks

        TASK_SIMPLE_INFORM_GROUP = 1200,
    //SCRIPT_DECISION
        TASK_COMPLEX_GANG_LEADER, 
    TASK_COMPLEX_PARTNER_DEAL,
    //SCRIPT_DECISION
    TASK_COMPLEX_PARTNER_GREET,
    //SCRIPT_DECISION
    TASK_COMPLEX_PARTNER_CHAT,
    TASK_COMPLEX_GANG_HASSLE_VEHICLE,
    //SCRIPT_DECISION
        TASK_COMPLEX_WALK_WITH_PED,
        TASK_COMPLEX_GANG_FOLLOWER,
        TASK_COMPLEX_WALK_ALONGSIDE_PED,
        TASK_COMPLEX_PARTNER_SHOVE,
    //SCRIPT_DECISION       
        TASK_COMPLEX_SIGNAL_AT_PED,
    //SCRIPT_DECISION
        TASK_COMPLEX_PASS_OBJECT,
    TASK_COMPLEX_GANG_HASSLE_PED,
    //SCRIPT_DECISION
    TASK_COMPLEX_WAIT_FOR_PED,
    TASK_SIMPLE_DO_HAND_SIGNAL,
    //      TASK_COMPLEX_THROW_OBJECT_BEING_HELD,
        TASK_COMPLEX_BE_IN_COUPLE,
        TASK_COMPLEX_GOTO_VEHICLE_AND_LEAN,
        TASK_COMPLEX_LEAN_ON_VEHICLE,
    //SCRIPT_DECISION
    TASK_COMPLEX_CHAT,
    TASK_COMPLEX_GANG_JOIN_RESPOND,
        
    //misc
    TASK_ZONE_RESPONSE = 1300,
    //SCRIPT_DECISION
    TASK_SIMPLE_TOGGLE_PED_THREAT_SCANNER,
    TASK_FINISHED,
    TASK_SIMPLE_JETPACK,
        TASK_SIMPLE_SWIM,
    TASK_COMPLEX_SWIM_AND_CLIMB_OUT,
    TASK_SIMPLE_DUCK_TOGGLE,
    TASK_WAIT_FOR_MATCHING_AREA_CODES,  
    TASK_SIMPLE_ON_ESCALATOR,
    TASK_COMPLEX_PROSTITUTE_SOLICIT,

    // interior tasks

        TASK_INTERIOR_USE_INFO = 1400,
        TASK_INTERIOR_GOTO_INFO,
        TASK_INTERIOR_BE_IN_HOUSE,
        TASK_INTERIOR_BE_IN_OFFICE,
        TASK_INTERIOR_BE_IN_SHOP,
        TASK_INTERIOR_SHOPKEEPER,
        TASK_INTERIOR_LIE_IN_BED,
        TASK_INTERIOR_SIT_ON_CHAIR,
        TASK_INTERIOR_SIT_AT_DESK,
        TASK_INTERIOR_LEAVE,
        TASK_INTERIOR_SIT_IN_RESTAURANT,
        TASK_INTERIOR_RESERVED2,
        TASK_INTERIOR_RESERVED3,
        TASK_INTERIOR_RESERVED4,
        TASK_INTERIOR_RESERVED5,
        TASK_INTERIOR_RESERVED6,
        TASK_INTERIOR_RESERVED7,
        TASK_INTERIOR_RESERVED8,
        
    // group tasks
    TASK_GROUP_FOLLOW_LEADER_ANY_MEANS = 1500,
    //SCRIPT_DECISION
    TASK_GROUP_FOLLOW_LEADER_WITH_LIMITS,
    //SCRIPT_DECISION
    TASK_GROUP_KILL_THREATS_BASIC,
    //SCRIPT_DECISION
    TASK_GROUP_KILL_PLAYER_BASIC,
    //SCRIPT_DECISION
    TASK_GROUP_STARE_AT_PED,
    //SCRIPT_DECISION
    TASK_GROUP_FLEE_THREAT,
    //SCRIPT_DECISION
    TASK_GROUP_PARTNER_DEAL,
    //SCRIPT_DECISION
    TASK_GROUP_PARTNER_GREET,
    //SCRIPT_DECISION
    TASK_GROUP_HASSLE_SEXY_PED,
    //SCRIPT_DECISION
    TASK_GROUP_HASSLE_THREAT,
    //SCRIPT_DECISION
    TASK_GROUP_USE_MEMBER_DECISION,
    //SCRIPT_DECISION
    TASK_GROUP_EXIT_CAR,
    //SCRIPT_DECISION
    TASK_GROUP_ENTER_CAR,
    //SCRIPT_DECISION
    TASK_GROUP_ENTER_CAR_AND_PERFORM_SEQUENCE,
    //SCRIPT_DECISION
    TASK_GROUP_RESPOND_TO_LEADER_COMMAND,
    //SCRIPT_DECISION
    TASK_GROUP_HAND_SIGNAL,
    //SCRIPT_DECISION
    TASK_GROUP_DRIVEBY,
    //SCRIPT_DECISION                   
    TASK_GROUP_HASSLE_THREAT_PASSIVE,
    //SCRIPT_DECISION
        
    // phone / goggles tasks
    TASK_COMPLEX_USE_MOBILE_PHONE = 1600,   
    TASK_SIMPLE_PHONE_TALK,
    TASK_SIMPLE_PHONE_IN,
    TASK_SIMPLE_PHONE_OUT,
    TASK_COMPLEX_USE_GOGGLES,   
    TASK_SIMPLE_GOGGLES_ON, 
    TASK_SIMPLE_GOGGLES_OFF,    

    // inform friends
    TASK_SIMPLE_INFORM_RESPECTED_FRIENDS = 1700,
    //SCRIPT_DECISION

    // brain tasks
    TASK_COMPLEX_USE_SCRIPTED_BRAIN = 1800,
    TASK_SIMPLE_FINISH_BRAIN,
    /*
    // test tasks
        TASK_COMPLEX_A,
        TASK_COMPLEX_B, 
        TASK_COMPLEX_C,
        TASK_COMPLEX_D,
        TASK_COMPLEX_E,     
    */                                                             
    MAX_NUM_TASK_TYPES
};

#endif
